package bancosys.tec.services.input.exceptions;

import java.util.Locale;

import bancosys.tec.exception.LocalizedMessageHolder;

/**
 * @author lundberg
 */
public class InputError implements LocalizedMessageHolder {

    private final LocalizedMessageHolder message;

    private final String prefix;

    /**
     * Construtor.
     * 
     * @param prefix prefix
     * @param message message
     */
    public InputError(String prefix, LocalizedMessageHolder message) {
        this.message = message;
        this.prefix = prefix;
    }

    /**
     * {@inheritDoc}
     */
    public String getMessage() {
        return this.getMessage(Locale.getDefault());
    }

    /**
     * {@inheritDoc}
     */
    public String getMessage(final Locale locale) {
        if (this.prefix != null) {
            return this.prefix + ": " + this.message.getMessage(locale);
        } else {
            return this.message.getMessage(locale);
        }
    }

    /**
     * Retorna a representacao desse erro na forma de uma String.
     * 
     * @return a representacao desse erro na forma de uma String
     */
    @Override
    public String toString() {
        return this.getMessage();
    }
}